
from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 技能0(被动技能):
    名称 = '长刀精通'
    所在等级 = 15
    等级上限 = 20
    基础等级 = 10

    def 物理攻击力倍率(self, 武器类型):
        return self.加成倍率(武器类型)

    def CD缩减倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return 0.95


class 技能1(主动技能):
    名称 = '掩护射击'
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [21, 220]
    data0 = [int(i*1.051)for i in [0, 322, 354, 387, 419, 452, 485, 517, 550, 582, 615, 647, 680, 713, 745, 777, 810, 842, 875, 908, 941, 973, 1005, 1038, 1070, 1103, 1135, 1169, 1201, 1233, 1266, 1299, 1331, 1363, 1397, 1428, 1461, 1493, 1527, 1559, 1591, 1625, 1656, 1689, 1721, 1755, 1786, 1819, 1853, 1884, 1917, 1949, 1983, 2014, 2047, 2080, 2112, 2144, 2177, 2211, 2242, 2275, 2308, 2340, 2372, 2405, 2438, 2470, 2503, 2536, 2568]]
    hit0 = 10
    CD = 6
    TP成长 = 0.10
    TP上限 = 7


class 技能2(主动技能):
    名称 = '捷影步'
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [21, 220]
    data0 = [int(i*1.051) for i in [0, 573, 631, 689, 748, 806, 864, 922, 979, 1039, 1096, 1154, 1211, 1271, 1329, 1386, 1445, 1502, 1561, 1619, 1677, 1734, 1792, 1852, 1909, 1967, 2025, 2084, 2141, 2200, 2257, 2315, 2373, 2432, 2489, 2547, 2607, 2664, 2722, 2780, 2838, 2896, 2954, 3012, 3071, 3130, 3188, 3246, 3303, 3362, 3420, 3478, 3535, 3594, 3652, 3710, 3769, 3826, 3884, 3943, 4001, 4058, 4116, 4174, 4233, 4291, 4349, 4407, 4465, 4524, 4581]]
    hit0 = 5
    CD = 5
    TP成长 = 0.10
    TP上限 = 7


class 技能3(主动技能):
    名称 = '轮盘连射'
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [33, 346]
    data0 = [int(i*1.065) for i in [0, 1812, 1997, 2180, 2365, 2549, 2734, 2917, 3101, 3284, 3468, 3652, 3836, 4019, 4204, 4388, 4572, 4756, 4941, 5125, 5308, 5493, 5677, 5859, 6043, 6227, 6410, 6595, 6780, 6962, 7146, 7331, 7516, 7699, 7883, 8067, 8250, 8433, 8618, 8801, 8985, 9170, 9353, 9538, 9722, 9907, 10090, 10274, 10459, 10642, 10824, 11009, 11192, 11377, 11561, 11745, 11929, 12113, 12298, 12481, 12666, 12850, 13034, 13215, 13399, 13583, 13767, 13951, 14135, 14319, 14504]]
    hit0 = 1
    data1 = [int(i*1.065) for i in [0, 2306, 2543, 2776, 3010, 3244, 3478, 3711, 3946, 4181, 4415, 4648, 4882, 5116, 5351, 5584, 5819, 6053, 6287, 6520, 6756, 6988, 7222, 7457, 7692, 7925, 8159, 8393, 8627, 8861, 9095, 9330, 9564, 9797, 10032, 10266, 10500, 10732, 10969, 11202, 11436, 11671, 11904, 12137, 12372, 12607, 12841, 13074, 13308, 13542, 13777, 14010, 14245, 14479, 14713, 14946, 15182, 15416, 15648, 15883, 16118, 16351, 16586, 16819, 17053, 17287, 17523, 17758, 17990, 18223, 18457]]
    hit1 = 0
    data2 = [int(i*1.065) for i in [0, 272, 299, 327, 354, 384, 411, 439, 465, 493, 520, 548, 576, 604, 630, 659, 685, 714, 742, 770, 797, 823, 851, 878, 908, 934, 963, 988, 1017, 1043, 1072, 1101, 1128, 1156, 1182, 1210, 1237, 1266, 1293, 1321, 1348, 1375, 1402, 1431, 1460, 1486, 1515, 1541, 1569, 1597, 1625, 1652, 1678, 1706, 1733, 1761, 1790, 1818, 1845, 1873, 1899, 1927, 1955, 1983, 2010, 2039, 2064, 2093, 2120, 2149, 2176]]
    hit2 = 3
    power2 = 3.72
    # 三觉被动变更
    CD = 8
    TP成长 = 0.10
    TP上限 = 7


class 技能4(主动技能):
    名称 = '剑刃突刺'
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [33, 346]
    data0 = [int(i*1.051) for i in [0, 399, 440, 480, 520, 560, 602, 642, 682, 722, 762, 803, 845, 886, 924, 965, 1006, 1045, 1087, 1127, 1167, 1207, 1248, 1288, 1329, 1370, 1409, 1450, 1491, 1529, 1570, 1612, 1653, 1693, 1732, 1773, 1814, 1855, 1895, 1934, 1975, 2016, 2055, 2097, 2138, 2176, 2217, 2258, 2300, 2340, 2379, 2420, 2460, 2501, 2542, 2581, 2622, 2663, 2702, 2743, 2785, 2823, 2864, 2905, 2946, 2984, 3025, 3067, 3107, 3148, 3188]]
    hit0 = 4
    data1 = [int(i*1.051) for i in [0, 1205, 1325, 1449, 1570, 1693, 1815, 1937, 2058, 2181, 2303, 2425, 2547, 2670, 2790, 2914, 3036, 3157, 3280, 3402, 3522, 3646, 3769, 3889, 4013, 4134, 4257, 4378, 4501, 4622, 4745, 4867, 4989, 5111, 5233, 5354, 5478, 5600, 5721, 5844, 5966, 6088, 6210, 6333, 6453, 6577, 6698, 6821, 6942, 7065, 7185, 7309, 7431, 7553, 7675, 7797, 7918, 8041, 8162, 8284, 8408, 8529, 8652, 8774, 8895, 9017, 9141, 9261, 9385, 9506, 9628]]
    hit1 = 1
    data2 = [int(i*1.051) for i in [0, 387, 427, 467, 506, 545, 585, 622, 662, 702, 740, 781, 821, 860, 899, 937, 976, 1016, 1055, 1095, 1134, 1173, 1214, 1252, 1291, 1331, 1370, 1409, 1449, 1487, 1526, 1566, 1604, 1644, 1684, 1722, 1763, 1803, 1840, 1880, 1920, 1958, 1998, 2038, 2076, 2116, 2154, 2193, 2233, 2272, 2312, 2352, 2391, 2429, 2469, 2508, 2547, 2587, 2626, 2665, 2704, 2743, 2782, 2821, 2862, 2901, 2940, 2980, 3019, 3057, 3097]]
    hit2 = 3
    CD = 6
    TP成长 = 0.10
    TP上限 = 7


class 技能5(主动技能):
    名称 = '潜行射击'
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [47, 493]
    data0 = [int(i*1.051) for i in [0, 316, 348, 379, 412, 443, 476, 507, 539, 571, 603, 635, 668, 698, 731, 763, 795, 827, 858, 890, 923, 954, 987, 1018, 1050, 1082, 1115, 1146, 1178, 1208, 1242, 1274, 1306, 1336, 1370, 1400, 1434, 1466, 1496, 1528, 1560, 1592, 1625, 1655, 1688, 1720, 1752, 1784, 1816, 1847, 1880, 1911, 1944, 1975, 2007, 2039, 2072, 2103, 2135, 2167, 2199, 2231, 2262, 2294, 2327, 2358, 2391, 2423, 2454, 2486, 2519]]
    hit0 = 15
    CD = 7
    TP成长 = 0.10
    TP上限 = 7


class 技能6(主动技能):
    名称 = '利刃旋斩'
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [33, 346]
    data0 = [int(i*1.051) for i in [0, 622, 685, 749, 812, 875, 937, 1001, 1064, 1127, 1190, 1254, 1317, 1381, 1441, 1505, 1568, 1632, 1695, 1758, 1820, 1884, 1947, 2010, 2073, 2137, 2200, 2263, 2325, 2389, 2452, 2516, 2577, 2641, 2703, 2767, 2830, 2893, 2956, 3020, 3083, 3146, 3208, 3272, 3335, 3399, 3461, 3522, 3586, 3649, 3713, 3775, 3839, 3902, 3966, 4027, 4091, 4154, 4218, 4281, 4344, 4406, 4470, 4533, 4597, 4658, 4722, 4785, 4849, 4910, 4974]]
    hit0 = 2
    data1 = [int(i*1.051) for i in [0, 349, 385, 419, 455, 491, 526, 563, 596, 631, 667, 702, 738, 773, 808, 845, 878, 913, 950, 985, 1020, 1055, 1091, 1127, 1160, 1196, 1232, 1267, 1302, 1338, 1374, 1409, 1444, 1479, 1514, 1550, 1586, 1620, 1656, 1691, 1728, 1761, 1796, 1833, 1868, 1904, 1938, 1974, 2010, 2044, 2078, 2115, 2150, 2186, 2221, 2256, 2292, 2326, 2363, 2397, 2432, 2469, 2504, 2539, 2574, 2610, 2645, 2679, 2715, 2751, 2786]]
    hit1 = 5
    data2 = [int(i*1.051) for i in [0, 1990, 2192, 2394, 2596, 2798, 2999, 3202, 3403, 3605, 3808, 4010, 4210, 4412, 4615, 4815, 5016, 5219, 5421, 5622, 5825, 6027, 6228, 6429, 6632, 6834, 7035, 7237, 7439, 7641, 7843, 8045, 8246, 8449, 8650, 8852, 9054, 9257, 9457, 9659, 9862, 10064, 10265, 10467, 10668, 10869, 11071, 11274, 11475, 11676, 11879, 12081, 12283, 12485, 12686, 12888, 13091, 13292, 13494, 13695, 13898, 14099, 14301, 14504, 14704, 14906, 15109, 15311, 15512, 15713, 15916]]
    hit2 = 1
    CD = 7
    TP成长 = 0.10
    TP上限 = 7


class 技能7(被动技能):
    名称 = '暗刃战略'
    所在等级 = 25
    等级上限 = 20
    基础等级 = 10

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.10 + 0.02 * self.等级, 5)


class 技能8(主动技能):
    名称 = '游弹枪袭'
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [62, 651]
    data0 = [int(i*1.062) for i in [0, 213, 234, 255, 276, 298, 318, 341, 362, 385, 406, 427, 449, 469, 491, 512, 533, 555, 578, 598, 620, 642, 662, 684, 706, 727, 748, 770, 790, 812, 833, 855, 878, 899, 921, 941, 963, 984, 1005, 1026, 1049, 1071, 1092, 1114, 1134, 1156, 1177, 1198, 1220, 1242, 1263, 1284, 1306, 1326, 1349, 1370, 1393, 1413, 1435, 1455, 1477, 1498, 1519, 1541, 1563, 1586, 1606, 1628, 1649, 1670, 1691]]
    hit0 = 30
    CD = 8
    TP成长 = 0.10
    TP上限 = 7


class 技能9(主动技能):
    名称 = '全方位射击'
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int(i) for i in [0, 445, 492, 536, 581, 627, 671, 716, 761, 806, 852, 896, 941, 987, 1031, 1080, 1123, 1168, 1214, 1259, 1304, 1347, 1395, 1439, 1484, 1530, 1575, 1619, 1665, 1710, 1754, 1801, 1845, 1891, 1933, 1983, 2027, 2069, 2118, 2161, 2205, 2253, 2297, 2341, 2387, 2432, 2476, 2522, 2568, 2612, 2658, 2703, 2748, 2793, 2838, 2882, 2929, 2972, 3020, 3063, 3110, 3156, 3200, 3246, 3289, 3337, 3380, 3425, 3471, 3517, 3559]]
    hit0 = 15
    data1 = [int(i) for i in [0, 743, 818, 893, 966, 1043, 1118, 1193, 1269, 1343, 1420, 1497, 1572, 1645, 1720, 1795, 1872, 1946, 2022, 2095, 2170, 2245, 2321, 2398, 2473, 2549, 2624, 2698, 2774, 2850, 2923, 2999, 3073, 3149, 3226, 3299, 3375, 3451, 3526, 3602, 3679, 3754, 3828, 3901, 3977, 4054, 4128, 4204, 4278, 4354, 4426, 4504, 4579, 4655, 4730, 4806, 4880, 4957, 5033, 5105, 5181, 5255, 5331, 5408, 5483, 5558, 5632, 5708, 5785, 5859, 5934]]
    hit1 = 6
    CD = 15
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1
    技能施放时间 = 1

    MP = [131, 1100]
    无色消耗 = 1

    def 装备护石(self):
        self.hit0 = 20
        self.hit1 = 0
        self.power0 *= 1.4732
        self.CDR *= 0.95


class 技能10(主动技能):
    名称 = '回旋飞剑'
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int(i*1.066) for i in [0, 737, 813, 887, 962, 1038, 1112, 1187, 1259, 1336, 1411, 1486, 1560, 1636, 1709, 1785, 1861, 1933, 2007, 2082, 2159, 2232, 2308, 2384, 2459, 2533, 2609, 2680, 2757, 2830, 2906, 2979, 3055, 3132, 3205, 3282, 3353, 3428, 3505, 3579, 3654, 3729, 3803, 3879, 3952, 4027, 4100, 4177, 4253, 4326, 4401, 4477, 4552, 4627, 4702, 4774, 4850, 4924, 4999, 5073, 5150, 5225, 5300, 5373, 5447, 5521, 5598, 5672, 5747, 5824, 5896]]
    hit0 = 1
    data1 = [int(i*1.066) for i in [0, 594, 656, 712, 773, 834, 895, 953, 1015, 1074, 1135, 1195, 1256, 1316, 1376, 1434, 1497, 1557, 1615, 1675, 1738, 1796, 1857, 1916, 1975, 2037, 2098, 2154, 2219, 2278, 2335, 2396, 2459, 2517, 2576, 2638, 2698, 2759, 2817, 2878, 2939, 2999, 3056, 3120, 3178, 3238, 3298, 3361, 3418, 3479, 3540, 3601, 3660, 3721, 3778, 3840, 3900, 3960, 4019, 4081, 4140, 4202, 4261, 4322, 4381, 4442, 4500, 4563, 4623, 4681, 4742]]
    hit1 = 8
    data2 = [int(i*1.066) for i in [0, 1584, 1744, 1906, 2066, 2227, 2389, 2550, 2710, 2874, 3031, 3193, 3352, 3515, 3673, 3835, 3995, 4157, 4316, 4478, 4638, 4799, 4958, 5121, 5280, 5442, 5603, 5763, 5922, 6086, 6246, 6407, 6565, 6729, 6888, 7049, 7211, 7370, 7529, 7693, 7854, 8012, 8172, 8335, 8496, 8654, 8817, 8978, 9138, 9300, 9460, 9620, 9781, 9942, 10103, 10262, 10424, 10585, 10745, 10906, 11067, 11228, 11389, 11551, 11710, 11870, 12032, 12194, 12352, 12513, 12674]]
    hit2 = 5
    CD = 20
    TP成长 = 0.10
    TP上限 = 5

    MP = [62, 651]
    无色消耗 = 1


class 技能11(主动技能):
    名称 = '枪刃乱舞'
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int(i*1.062) for i in [0, 509, 557, 614, 662, 714, 767, 816, 867, 919, 972, 1025, 1072, 1128, 1179, 1230, 1280, 1332, 1383, 1434, 1488, 1537, 1588, 1641, 1693, 1745, 1795, 1847, 1899, 1948, 2003, 2052, 2103, 2155, 2206, 2258, 2309, 2361, 2415, 2466, 2516, 2568, 2620, 2669, 2722, 2774, 2826, 2875, 2927, 2980, 3031, 3082, 3135, 3187, 3237, 3289, 3340, 3392, 3442, 3493, 3547, 3595, 3648, 3701, 3752, 3805, 3856, 3905, 3957, 4008, 4061]]
    hit0 = 10
    data1 = [int(i*1.062) for i in [0, 351, 387, 423, 455, 494, 531, 564, 601, 636, 672, 707, 744, 777, 814, 850, 885, 919, 957, 992, 1027, 1063, 1099, 1134, 1170, 1204, 1242, 1274, 1312, 1349, 1383, 1418, 1455, 1491, 1524, 1562, 1597, 1629, 1668, 1702, 1738, 1772, 1810, 1846, 1881, 1917, 1950, 1989, 2022, 2060, 2093, 2127, 2166, 2201, 2236, 2271, 2308, 2342, 2379, 2415, 2448, 2487, 2521, 2556, 2591, 2629, 2663, 2699, 2737, 2768, 2807]]
    hit1 = 15
    data2 = [int(i*1.062) for i in [0, 6623, 7295, 7969, 8641, 9312, 9984, 10658, 11328, 11998, 12671, 13343, 14015, 14688, 15361, 16030, 16705, 17376, 18049, 18722, 19393, 20064, 20736, 21410, 22082, 22752, 23426, 24097, 24768, 25440, 26112, 26785, 27456, 28129, 28800, 29471, 30143, 30814, 31488, 32160, 32834, 33503, 34175, 34845, 35520, 36192, 36863, 37535, 38210, 38880, 39553, 40224, 40897, 41569, 42242, 42913, 43583, 44257, 44927, 45601, 46274, 46944, 47615, 48290, 48960, 49634, 50303, 50977, 51650, 52319, 52992]]
    hit2 = 1
    CD = 25
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    power1 = 1
    power2 = 1

    MP = [174, 1461]
    无色消耗 = 1

    def 装备护石(self):
        self.power0 *= 1.07
        self.power1 *= 1.07
        self.power2 *= 1.50
        self.CDR *= 0.80


class 技能12(主动技能):
    名称 = '血光斩'
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int(i*1.056) for i in [0, 25422, 28001, 30579, 33158, 35738, 38316, 40895, 43473, 46052, 48632, 51211, 53790, 56368, 58947, 61527, 64104, 66685, 69264, 71842, 74422, 77000, 79580, 82159, 84737, 87316, 89894, 92473, 95053, 97631, 100211, 102789, 105368, 107947, 110526, 113105, 115683, 118262, 120841, 123420, 126000, 128580, 131157, 133737, 136314, 138895, 141474, 144052, 146631, 149209, 151790, 154369, 156947, 159526, 162104, 164683, 167263, 169841, 172420, 174998, 177577, 180157, 182736, 185315, 187894, 190472, 193051, 195630, 198209, 200788, 203366]]
    hit0 = 1
    CD = 45
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [305, 2562]
    无色消耗 = 2

    def 装备护石(self):
        self.倍率 *= 1.33


class 技能13(被动技能):
    名称 = 'BG枪刃改造'
    所在等级 = 48

    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.025 + 0.02 * self.等级, 5)


class 技能14(主动技能):
    名称 = '电光飞掠'
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [int(i*1.051) for i in [0, 2169, 2672, 3174, 3676, 4180, 4683, 5186, 5689, 6192, 6694, 7196, 7700, 8202, 8705, 9209, 9711, 10214, 10716, 11219, 11722, 12225, 12728, 13231, 13731, 14235, 14737, 15240, 15744, 16246, 16750, 17251, 17754, 18257, 18760, 19263, 19766, 20268, 20771, 21274, 21776, 22280, 22782, 23286, 23788, 24290, 24793, 25296, 25799, 26302, 26805, 27308, 27810, 28312, 28816, 29318, 29822, 30324, 30828, 31329, 31832, 32336, 32838, 33341, 33844, 34347, 34847, 35351, 35853, 36357, 36859]]
    hit0 = 13
    data1 = [int(i*1.051) for i in [0, 2644, 3255, 3870, 4482, 5095, 5707, 6320, 6931, 7545, 8160, 8772, 9384, 9997, 10609, 11222, 11834, 12448, 13060, 13673, 14285, 14899, 15512, 16124, 16736, 17350, 17963, 18575, 19188, 19800, 20412, 21025, 21640, 22252, 22865, 23477, 24090, 24702, 25315, 25928, 26541, 27154, 27767, 28379, 28992, 29604, 30217, 30830, 31443, 32055, 32668, 33280, 33894, 34506, 35120, 35732, 36345, 36957, 37570, 38182, 38795, 39409, 40022, 40634, 41247, 41859, 42472, 43084, 43697, 44310, 44923]]
    hit1 = 16
    CD = 145

    MP = [1018, 8551]
    无色消耗 = 5


class 技能15(主动技能):
    名称 = '近敌灭杀'
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.067) for i in [0, 9247, 10185, 11123, 12061, 13000, 13937, 14876, 15813, 16752, 17690, 18628, 19565, 20504, 21442, 22380, 23317, 24256, 25194, 26133, 27069, 28008, 28946, 29885, 30823, 31760, 32698, 33637, 34575, 35511, 36450, 37389, 38327, 39263, 40202, 41140, 42079, 43016, 43954, 44892, 45831, 46769, 47707, 48644, 49583, 50521, 51459, 52398, 53335, 54274, 55211, 56150, 57087, 58026, 58965, 59902, 60841, 61778, 62717, 63654, 64593, 65531, 66469, 67406, 68345, 69283, 70221, 71158, 72097, 73035, 73974]]
    hit0 = 1
    data1 = [int(i*1.067) for i in [0, 694, 765, 835, 905, 976, 1046, 1116, 1187, 1257, 1327, 1397, 1470, 1539, 1610, 1680, 1750, 1820, 1889, 1961, 2031, 2102, 2172, 2242, 2312, 2383, 2453, 2523, 2594, 2664, 2734, 2806, 2876, 2946, 3016, 3087, 3157, 3227, 3298, 3368, 3438, 3509, 3579, 3649, 3720, 3789, 3860, 3929, 4001, 4070, 4141, 4211, 4283, 4352, 4424, 4493, 4564, 4635, 4705, 4774, 4846, 4916, 4986, 5056, 5127, 5197, 5267, 5338, 5408, 5478, 5550]]
    hit1 = 20
    CD = 25
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    power1 = 1

    MP = [340, 952]
    无色消耗 = 2

    def 装备护石(self):
        self.power1 *= 1.553
        self.CDR *= 0.85


class 技能16(主动技能):
    名称 = '大回旋坠斩'
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.067) for i in [0, 1478, 1628, 1778, 1929, 2077, 2227, 2377, 2526, 2675, 2826, 2976, 3125, 3275, 3425, 3572, 3724, 3874, 4024, 4173, 4321, 4473, 4624, 4773, 4923, 5073, 5224, 5372, 5522, 5672, 5822, 5970, 6121, 6271, 6420, 6570, 6719, 6869, 7017, 7169, 7319, 7467, 7617, 7769, 7919, 8069, 8218, 8367, 8517, 8669, 8818, 8968, 9118, 9265, 9415, 9567, 9717, 9866, 10014, 10165, 10316, 10464, 10615, 10764, 10915, 11065, 11215, 11365, 11515, 11663, 11813]]
    hit0 = 10
    data1 = [int(i*1.067) for i in [0, 1415, 1555, 1699, 1845, 1987, 2130, 2274, 2418, 2561, 2705, 2848, 2990, 3134, 3276, 3419, 3565, 3707, 3851, 3993, 4138, 4280, 4422, 4566, 4712, 4852, 4997, 5140, 5286, 5428, 5572, 5712, 5856, 6001, 6143, 6287, 6431, 6575, 6717, 6860, 7004, 7146, 7291, 7433, 7576, 7721, 7862, 8008, 8152, 8295, 8439, 8577, 8724, 8867, 9009, 9154, 9298, 9440, 9583, 9728, 9872, 10013, 10157, 10298, 10444, 10587, 10729, 10874, 11020, 11162, 11305]]
    hit1 = 10
    data2 = [int(i*1.067) for i in [0, 12239, 13479, 14721, 15962, 17201, 18445, 19685, 20927, 22169, 23409, 24651, 25893, 27133, 28377, 29618, 30858, 32101, 33343, 34582, 35825, 37064, 38309, 39549, 40789, 42031, 43272, 44513, 45756, 46997, 48239, 49480, 50722, 51963, 53205, 54445, 55687, 56927, 58168, 59411, 60653, 61893, 63134, 64375, 65617, 66859, 68101, 69343, 70584, 71824, 73065, 74305, 75550, 76790, 78030, 79273, 80513, 81757, 82998, 84239, 85480, 86721, 87963, 89205, 90446, 91688, 92929, 94169, 95414, 96653, 97895]]
    hit2 = 1
    power2 = 1
    CD = 50
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [699, 1467]
    无色消耗 = 2

    # 暂时只录入了地面形态的护石数据
    # 空中形态段数001，power2 *= 3.9483

    形态 = ["地面", "空中"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "空中":
            if '大回旋坠斩' in char.护石栏:
                self.hit0 = 0
                self.hit1 = 0
                self.hit2 = 1
                self.power2 = 3.9483
            else:
                形态 = "地面"
        if 形态 == "地面":
            self.hit0 = 10
            self.hit1 = 10
            self.hit2 = 1
            if '大回旋坠斩' in char.护石栏:
                self.hit0 += 1
                self.hit1 += 1

    def 装备护石(self):
        self.hit0 += 1
        self.hit1 += 1
        self.power0 = 1.23
        self.power1 = 1.23
        self.power2 = 1.23


class 技能17(主动技能):
    名称 = '致命焰火'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    # 此处为原地射击数据，向后射击数据为10 0 10
    data0 = [int(i*1.067) for i in [0, 2688, 2961, 3233, 3507, 3780, 4052, 4326, 4597, 4869, 5141, 5416, 5688, 5960, 6231, 6505, 6780, 7049, 7324, 7595, 7868, 8142, 8414, 8686, 8959, 9233, 9505, 9779, 10051, 10323, 10598, 10870, 11140, 11413, 11687, 11959, 12232, 12503, 12776, 13050, 13322, 13596, 13868, 14140, 14415, 14686, 14958, 15232, 15502, 15777, 16050, 16321, 16593, 16867, 17140, 17413, 17684, 17957, 18231, 18503, 18776, 19049, 19320, 19596, 19868, 20139, 20410, 20686, 20957, 21229, 21501]]
    hit0 = 10
    data1 = [int(i*1.067) for i in [0, 2691, 2964, 3237, 3510, 3782, 4057, 4330, 4601, 4876, 5149, 5418, 5696, 5968, 6237, 6515, 6785, 7056, 7332, 7603, 7875, 8150, 8421, 8695, 8969, 9240, 9514, 9788, 10060, 10335, 10607, 10878, 11154, 11424, 11697, 11973, 12244, 12516, 12792, 13063, 13335, 13609, 13882, 14154, 14427, 14701, 14973, 15246, 15520, 15794, 16064, 16337, 16613, 16883, 17157, 17431, 17702, 17976, 18249, 18521, 18795, 19068, 19341, 19614, 19886, 20160, 20433, 20706, 20980, 21250, 21524]]
    hit1 = 15
    data2 = [int(i*1.067) for i in [0, 4032, 4439, 4852, 5258, 5669, 6078, 6488, 6895, 7305, 7714, 8121, 8531, 8940, 9349, 9758, 10168, 10577, 10983, 11396, 11803, 12211, 12622, 13030, 13439, 13849, 14258, 14668, 15077, 15485, 15891, 16304, 16711, 17120, 17530, 17937, 18347, 18755, 19166, 19574, 19982, 20393, 20800, 21210, 21618, 22028, 22436, 22847, 23255, 23665, 24074, 24484, 24891, 25303, 25710, 26118, 26529, 26937, 27346, 27755, 28162, 28572, 28980, 29391, 29798, 30207, 30617, 31026, 31435, 31845, 32253]]
    hit2 = 0
    CD = 40
    是否有护石 = 1

    MP = [579, 4487]
    无色消耗 = 3

    形态 = ["原地", "向后"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "原地":
            self.hit0 = 10
            self.hit1 = 15
            self.hit2 = 0
        if 形态 == "向后":
            self.hit0 = 10
            self.hit1 = 0
            self.hit2 = 10

    def 装备护石(self):
        self.倍率 *= 1.3
        self.CDR *= 0.90


class 技能18(被动技能):
    名称 = 'BC精锐特训'
    所在等级 = 75

    等级上限 = 50
    等级精通 = 40
    学习间隔 = 3

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.22 + 0.02 * self.等级, 5)


class 技能19(主动技能):
    名称 = '碧波瞬斩'
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i) for i in [0, 26344, 29016, 31688, 34361, 37034, 39706, 42378, 45052, 47724, 50397, 53069, 55742, 58415, 61086, 63758, 66431, 69104, 71777, 74449, 77120, 79795, 82466, 85138, 87811, 90482, 93155, 95828, 98500, 101172, 103846, 106518, 109191, 111863, 114535, 117209, 119880, 122552, 125225, 127898, 130570, 133243, 135915, 138589, 141261, 143933, 146606, 149277, 151950, 154623, 157295, 159967, 162641, 165313, 167985, 170657, 173329, 176003, 178675, 181346, 184019, 186692, 189364, 192037, 194709, 197383, 200055, 202727, 205400, 208072, 210744]]
    hit0 = 3
    CD = 50
    是否有护石 = 1

    MP = [839, 6292]
    无色消耗 = 5

    def 装备护石(self):
        self.hit0 = 1
        self.倍率 *= 4.11


class 技能20(主动技能):
    名称 = '集结·暮光之翼'
    所在等级 = 85

    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [int(i*1.067) for i in [0, 12396, 15271, 18144, 21019, 23891, 26766, 29641, 32516, 35389, 38263, 41136, 44011, 46887, 49760, 52634, 55508, 58382, 61256, 64131, 67004, 69879, 72753, 75627, 78500, 81375, 84250, 87124, 89999, 92871, 95746, 98620, 101495, 104368, 107243, 110116, 112991, 115867, 118739, 121614, 124488, 127362, 130236, 133110, 135984, 138859, 141733, 144607, 147480, 150355, 153230, 156104, 158978, 161851, 164726, 167599, 170475, 173348, 176222, 179096, 181971, 184844, 187719, 190594, 193467, 196342, 199215, 202089, 204964, 207839, 210712]]
    hit0 = 4
    data1 = [int(i*1.067) for i in [0, 3006, 3703, 4398, 5097, 5792, 6490, 7185, 7883, 8579, 9277, 9973, 10670, 11366, 12064, 12759, 13458, 14154, 14851, 15547, 16244, 16941, 17638, 18335, 19031, 19728, 20425, 21121, 21818, 22515, 23212, 23908, 24605, 25302, 25998, 26696, 27393, 28089, 28787, 29482, 30180, 30876, 31574, 32269, 32967, 33663, 34360, 35056, 35755, 36450, 37148, 37843, 38541, 39236, 39935, 40630, 41328, 42025, 42721, 43418, 44116, 44812, 45509, 46205, 46902, 47598, 48296, 48993, 49689, 50386, 51082]]
    hit1 = 11
    data2 = [int(i*1.067) for i in [0, 3306, 4071, 4840, 5607, 6372, 7139, 7905, 8672, 9437, 10205, 10971, 11737, 12503, 13270, 14037, 14802, 15569, 16336, 17102, 17868, 18635, 19401, 20168, 20933, 21702, 22467, 23234, 24002, 24767, 25534, 26299, 27067, 27832, 28599, 29364, 30132, 30898, 31664, 32432, 33197, 33964, 34729, 35497, 36263, 37029, 37795, 38562, 39328, 40095, 40863, 41629, 42395, 43161, 43928, 44694, 45461, 46227, 46994, 47759, 48526, 49294, 50059, 50826, 51591, 52359, 53124, 53891, 54657, 55424, 56190]]
    hit2 = 20
    data3 = [int(i*1.067) for i in [0, 16527, 20359, 24192, 28024, 31856, 35688, 39522, 43354, 47184, 51017, 54849, 58682, 62514, 66346, 70179, 74009, 77842, 81675, 85506, 89339, 93172, 97004, 100836, 104668, 108500, 112332, 116164, 119997, 123829, 127661, 131494, 135326, 139157, 142989, 146822, 150655, 154486, 158319, 162152, 165983, 169816, 173647, 177480, 181312, 185144, 188977, 192809, 196640, 200474, 204305, 208137, 211969, 215802, 219635, 223466, 227299, 231132, 234962, 238795, 242627, 246459, 250292, 254124, 257957, 261788, 265619, 269453, 273285, 277117, 280949]]
    hit3 = 1
    CD = 180

    MP = [2500, 5000]
    无色消耗 = 10


class 技能21(主动技能):
    名称 = '燃情协战'
    所在等级 = 95

    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    # 此处为向前突进形态的数据，普通施放为0 0 0 10 6
    data0 = [int(i*1.065) for i in [0, 2685, 2957, 3229, 3503, 3774, 4046, 4319, 4592, 4863, 5136, 5408, 5682, 5952, 6224, 6497, 6770, 7041, 7313, 7587, 7859, 8130, 8403, 8676, 8948, 9220, 9493, 9765, 10038, 10309, 10581, 10854, 11126, 11397, 11671, 11943, 12215, 12488, 12760, 13032, 13306, 13577, 13849, 14122, 14395, 14666, 14939, 15210, 15482, 15755, 16027, 16300, 16572, 16844, 17116, 17390, 17661, 17933, 18206, 18479, 18750, 19023, 19296, 19568, 19839, 20111, 20384, 20657, 20928, 21200]]
    hit0 = 10
    data1 = [int(i*1.065) for i in [0, 8053, 8869, 9687, 10503, 11320, 12137, 12955, 13771, 14588, 15404, 16222, 17039, 17855, 18672, 19490, 20306, 21123, 21940, 22757, 23574, 24391, 25207, 26025, 26841, 27658, 28475, 29293, 30109, 30926, 31742, 32559, 33377, 34194, 35010, 35827, 36644, 37461, 38278, 39095, 39912, 40728, 41545, 42362, 43180, 43997, 44813, 45629, 46447, 47264, 48081, 48898, 49715, 50531, 51348, 52165, 52983, 53800, 54615, 55432, 56249, 57067, 57884, 58701, 59516, 60334, 61151, 61968, 62785, 63601]]
    hit1 = 5
    data2 = [int(i*1.065) for i in [0, 67102, 73912, 80717, 87525, 94333, 101140, 107947, 114756, 121562, 128370, 135177, 141985, 148792, 155600, 162405, 169214, 176021, 182828, 189636, 196444, 203250, 210059, 216866, 223673, 230481, 237289, 244094, 250902, 257710, 264517, 271324, 278133, 284939, 291747, 298555, 305362, 312169, 318977, 325786, 332592, 339400, 346207, 353014, 359821, 366630, 373436, 380244, 387051, 393859, 400666, 407474, 414281, 421089, 427896, 434702, 441510, 448318, 455124, 461933, 468740, 475547, 482355, 489163, 495969, 502778, 509585, 516391, 523198, 530007]]
    hit2 = 1
    data3 = [int(i*1.065) for i in [0, 4700, 5176, 5651, 6127, 6604, 7081, 7559, 8035, 8510, 8988, 9464, 9940, 10419, 10894, 11370, 11847, 12323, 12801, 13277, 13753, 14229, 14707, 15183, 15659, 16136, 16613, 17089, 17566, 18041, 18518, 18996, 19472, 19948, 20425, 20902, 21378, 21855, 22331, 22808, 23284, 23761, 24237, 24715, 25191, 25666, 26142, 26621, 27097, 27574, 28049, 28525, 29003, 29480, 29956, 30433, 30909, 31385, 31863, 32339, 32816, 33292, 33768, 34244, 34723, 35199, 35674, 36151, 36627, 37104]]
    hit3 = 0
    data4 = [int(i*1.065) for i in [0, 14541, 16016, 17491, 18966, 20441, 21915, 23392, 24867, 26342, 27817, 29290, 30767, 32241, 33716, 35191, 36667, 38142, 39617, 41092, 42566, 44043, 45517, 46992, 48467, 49943, 51418, 52892, 54367, 55842, 57318, 58792, 60268, 61742, 63217, 64694, 66168, 67643, 69118, 70594, 72068, 73543, 75017, 76493, 77969, 79443, 80919, 82393, 83869, 85344, 86819, 88293, 89769, 91244, 92718, 94194, 95668, 97145, 98619, 100094, 101570, 103044, 104520, 105995, 107470, 108944, 110420, 111894, 113369, 114844]]
    hit4 = 0
    CD = 60

    MP = [1007, 7550]
    无色消耗 = 7


class 技能22(被动技能):
    名称 = '暮光战略'
    所在等级 = 95

    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能23(主动技能):
    名称 = '暮光密令：黎明决战'
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [int(i*1.06) for i in [0, 1521, 1873, 2226, 2580, 2931, 3284, 3636, 3988, 4340, 4694, 5047, 5399, 5752, 6104, 6456, 6810, 7163, 7514, 7867, 8219, 8571, 8926, 9278, 9630, 9982, 10335, 10687, 11039, 11393, 11746, 12097, 12450, 12803, 13155, 13509, 13861, 14213, 14566, 14918, 15271, 15622, 15976, 16329, 16681, 17034, 17387, 17739, 18092, 18444, 18796, 19149, 19501, 19855, 20206, 20560, 20913, 21264, 21617, 21971, 22322, 22675, 23027, 23379, 23732, 24084, 24439, 24791, 25143, 25496, 25847]]
    hit0 = 22
    data1 = [int(i*1.06) for i in [0, 31359, 38632, 45904, 53174, 60445, 67719, 74989, 82260, 89534, 96804, 104075, 111348, 118619, 125892, 133163, 140434, 147707, 154978, 162248, 169522, 176793, 184063, 191337, 198608, 205879, 213150, 220423, 227694, 234965, 242238, 249509, 256780, 264052, 271324, 278595, 285868, 293139, 300410, 307683, 314953, 322226, 329498, 336768, 344041, 351313, 358583, 365857, 373128, 380398, 387671, 394943, 402213, 409486, 416758, 424028, 431301, 438572, 445844, 453116, 460387, 467659, 474931, 482202, 489473, 496746, 504017, 511288, 518561, 525833, 533103]]
    hit1 = 2
    data2 = [int(i*1.06) for i in [0, 26133, 32192, 38253, 44313, 50371, 56431, 62491, 68551, 74611, 80670, 86730, 92791, 98851, 104909, 110968, 117029, 123088, 129147, 135208, 141267, 147327, 153388, 159447, 165506, 171566, 177626, 183684, 189744, 195805, 201865, 207924, 213984, 220044, 226104, 232164, 238224, 244282, 250341, 256402, 262462, 268521, 274581, 280641, 286701, 292762, 298820, 304880, 310939, 317000, 323058, 329118, 335179, 341238, 347297, 353358, 359418, 365477, 371535, 377596, 383655, 389715, 395776, 401835, 407894, 413955, 420015, 426075, 432135, 438193, 444253]]
    hit2 = 4
    data3 = [int(i*1.06) for i in [0, 3136, 3863, 4590, 5318, 6045, 6773, 7500, 8226, 8953, 9681, 10408, 11135, 11863, 12590, 13316, 14044, 14771, 15498, 16226, 16953, 17681, 18408, 19133, 19860, 20588, 21315, 22042, 22770, 23497, 24223, 24951, 25678, 26405, 27133, 27860, 28588, 29314, 30042, 30768, 31496, 32223, 32950, 33678, 34404, 35133, 35859, 36586, 37313, 38041, 38768, 39493, 40223, 40948, 41678, 42403, 43130, 43857, 44584, 45312, 46038, 46767, 47493, 48220, 48948, 49674, 50403, 51129, 51857, 52583, 53311]]
    hit3 = 16
    data4 = [int(i*1.06) for i in [0, 167248, 206030, 244813, 283595, 322377, 361159, 399941, 438725, 477506, 516288, 555070, 593852, 632636, 671417, 710199, 748981, 787761, 826545, 865327, 904109, 942892, 981673, 1020456, 1059238, 1098020, 1136803, 1175584, 1214367, 1253149, 1291932, 1330714, 1369495, 1408278, 1447060, 1485842, 1524623, 1563406, 1602189, 1640971, 1679753, 1718534, 1757317, 1796100, 1834882, 1873664, 1912445, 1951229, 1990011, 2028793, 2067574, 2106357, 2145139, 2183921, 2222702, 2261484, 2300268, 2339050, 2377832, 2416613, 2455396, 2494178, 2532961, 2571743, 2610525, 2649307, 2688089, 2726872, 2765655, 2804436, 2843217]]
    hit4 = 1
    CD = 290

    MP = [4028, 8056]
    无色消耗 = 15


class classChange(Character):
    def __init__(self):
        self.实际名称 = 'hitman'
        self.名称 = '苍暮·暗刃'
        self.角色 = '枪剑士'

        self.职业 = '暗刃'
        self.武器选项 = ['长刀']
        self.输出类型选项 = ['物理百分比']
        self.防具精通属性 = ['力量']
        self.类型 = '物理百分比'
        self.武器类型 = '长刀'
        self.防具类型 = '轻甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 1.85

        super().__init__()
